package org.raftkv.raft.core.readonly;

/**
 * 该类为只读查询提供状态。<br/>
 * 调用方有责任在获取此状态之前先调用 ReadIndex，同时区分此状态是否通过 requestCtx 请求的。<br/>
 * 例如，给定一个唯一的 ID 作为 requestCtx。
 *
 * @author wzy
 */
public class ReadState {

    /**
     * 接受该读请求时的 committed index
     */
    private long index;

    /**
     * 保存读请求的 ID
     */
    private byte[] requestCtx;

    public ReadState(long index, byte[] requestCtx) {
        this.index = index;
        this.requestCtx = requestCtx;
    }

    public void setIndex(long index) {
        this.index = index;
    }

    public void setRequestCtx(byte[] requestCtx) {
        this.requestCtx = requestCtx;
    }

    public long getIndex() {
        return index;
    }

    public byte[] getRequestCtx() {
        return requestCtx;
    }

}
